/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package persistencia;

import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import negocio.Movimiento;
import java.util.*;
import negocio.Cliente;
import java.util.Date;
/**
 *
 * @author JAVA
 */
public class PersistenciaMovimiento {
    
    public static int insertarMovimiento(Movimiento m){
        int i=0;
        Connection con=null;
        Statement st=null;
        java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String fecha = sdf.format(m.getFecha());
        try {
            try {
                Class.forName("com.mysql.jdbc.Driver").newInstance();
                con=DriverManager.getConnection("jdbc:mysql://192.168.1.18/videoclub","cibernos","1234");
                st=con.createStatement();
                i=st.executeUpdate("insert into movimientos (id,idcliente,fecha,descripcion,saldoantiguo,saldonuevo,cantidad) values "
                        + "(0,"+m.getCliente().getId()+",'"+fecha+"','"+m.getConcepto()+"',"+m.getSaldoAntiguo()+","+m.getSaldoNuevo()+","+m.getCantidad()+")");
            } catch (SQLException ex) {
                Logger.getLogger(PersistenciaProveedor.class.getName()).log(Level.SEVERE, null, ex);
            } catch (InstantiationException ex) {
                Logger.getLogger(PersistenciaProveedor.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IllegalAccessException ex) {
                Logger.getLogger(PersistenciaProveedor.class.getName()).log(Level.SEVERE, null, ex);
            }
            finally{
                st.close();
                con.close();
            }
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(PersistenciaProveedor.class.getName()).log(Level.SEVERE, null, ex);
        }
        finally{
            return i;
        }
    }
    
    public static List<Movimiento> mostrarMovimientos(Cliente c){
        List<Movimiento> mov=new ArrayList<Movimiento>();
        Connection con=null;
        Statement st=null;
        Date fecha;
        try {
            try {
                Class.forName("com.mysql.jdbc.Driver").newInstance();
                con=DriverManager.getConnection("jdbc:mysql://192.168.1.18/videoclub","cibernos","1234");
                st=con.createStatement();
                ResultSet r=st.executeQuery("select fecha,descripcion,saldoantiguo,saldonuevo,cantidad from movimientos where idcliente="+c.getId());
                while(r.next()){
                    fecha=r.getDate("fecha");
                    Movimiento m=new Movimiento(c,r.getString("descripcion"),fecha,r.getFloat("saldoantiguo"),r.getFloat("saldonuevo"),r.getFloat("cantidad"));
                    mov.add(m);
                }
            } catch (SQLException ex) {
                Logger.getLogger(PersistenciaProveedor.class.getName()).log(Level.SEVERE, null, ex);
            } catch (InstantiationException ex) {
                Logger.getLogger(PersistenciaProveedor.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IllegalAccessException ex) {
                Logger.getLogger(PersistenciaProveedor.class.getName()).log(Level.SEVERE, null, ex);
            }
            finally{
                st.close();
                con.close();
                
            }
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(PersistenciaProveedor.class.getName()).log(Level.SEVERE, null, ex);
        }
        finally{
            return mov;
        }
    }
}
